home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 49 / Amiga Format CD49 (2000-01-17)(Future Publishing)(GB)(Track 1 of 3)[!][issue 2000-02].iso / -serious- / emulation / cp4_update / cp4.update < prev    next >
Text File  |  1999-11-30  |  9KB  |  253 lines

  1. ;:ts=4    $VER: cp4.update V0.73 (25.11.99) Copyright © by Gáti Gergely
  2. (set #Vo 0)
  3. (set #Ro 72)
  4. (set #Vn 0)
  5. (set #Rn 73)
  6. (set #dif 12)
  7.  
  8. ;-------------------------------------------------
  9. ;-------------------------------------------------
  10.  
  11. ;-------------------------------------------------
  12. ;Variables
  13. ;-------------------------------------------------
  14. (set #Oldver (cat #Vo"."#Ro))
  15. (set #Ver (cat #Vn"."#Rn))
  16. (set #safename (cat "old_"#Oldver))
  17. (set #safepath "-")
  18.  
  19. (set #welc (cat "Update for " @app-name ",\n"
  20.     "from version " #Oldver " to version " #Ver ".\n"
  21.     "For new features, read the documentation."))
  22.  
  23. (set #whereprog (cat "Where is the previously installed " @app-name " ?"))
  24. (set #helpwhereprog ("Please select the proper directory."))
  25.  
  26. (set #notgoodver1 (cat "This program is version "))
  27. (set #notgoodver2 (cat " instead of version "))
  28. (set #notgoodver3 (cat "."))
  29.  
  30. (set #patch1_1 (cat "\n\nUpdate "))
  31. (set #patch1_2 (cat "\n from V"))
  32. (set #patch1_3 (cat " to V"))
  33. (set #patch1_4 (cat "..."))
  34. (set #patch1_5 (cat " to the new one..."))
  35.  
  36. (set #ErrorMsg1_1 (cat "\nCannot apply patch for '"))
  37. (set #ErrorMsg1_2 (cat "'\nto version "))
  38. (set #ErrorMsg1_3 (cat ".\nMaybe corrupt patch file."))
  39. (set #ErrorMsg1_4 (cat "'.\nMaybe corrupt patch file."))
  40.  
  41.  
  42. ;-------------------------------------------------
  43. ; Copy new file
  44. ;-------------------------------------------------
  45. (procedure P_Copy #src #dest
  46.  (set #tocopy (tackon @default-dest #dest))
  47.  (set #dir (pathonly #tocopy))
  48.  (working (cat "Copying " #dest ". (new file)"))
  49.  (if (not (exists #dir)) (makedir #dir))
  50.  (copyfiles (source #src) (dest #dir) (optional force))
  51.  (set #cm (+ #cm #dif))
  52.  (complete (/ #cm 10))
  53. )
  54.  
  55. ;-------------------------------------------------
  56. ; Delete old file (move to safepath)
  57. ;-------------------------------------------------
  58. (procedure P_Delete #file
  59.  (set #todel (tackon @default-dest #file))    ; full path of del
  60.  (set #dir (pathonly #file))                ; dir-only for del
  61.  (set #dat (fileonly #file))                ; file to del
  62.  (working (cat "Deleting " #dat ". (obsolote)"))
  63.  (if (<> "" #dir) (
  64.     (makedir (cat #safepath "/" #dir))
  65.     (rename #todel (cat #safepath "/" #dir "/" #dat))
  66.  )(
  67.     (rename #todel (cat #safepath "/" #dat))
  68.  ))
  69.  (set #cm (+ #cm #dif))
  70.  (complete (/ #cm 10))
  71. )
  72.  
  73. ;-------------------------------------------------
  74. ; Test & create patch command - others
  75. ;-------------------------------------------------
  76. (procedure P_Update #file
  77.  (set #dir (pathonly #file))
  78.  (set #dat (fileonly #file))
  79.  (set #odir #dir)
  80.  (if (<> #dir "") (
  81.     (set #dir (cat @default-dest "/" #dir))
  82.  )(
  83.     (set #dir @default-dest)
  84.  ))
  85.  (set #dat2 (tackon #dir #dat))
  86.  (set #pdat (tackon #odir #dat))
  87.  (set #vernum1 (getversion #dat2))
  88.  (set #ver1 (/ #vernum1 65536))
  89.  (set #rev1 (- #vernum1 (* #ver1 65536) ) )
  90.  (set #dat3 (cat #dat2"_V" #ver1 "." #rev1))
  91.  
  92.  (if (exists #dat2 (noreq)) (
  93.      (working (cat #patch1_1 #dat #patch1_2 #ver1"."#rev1 #patch1_5))
  94.      (rename #dat2 #dat3)
  95.      (set #patch (run (cat "gpatch \""#dat3"\" \""#pchfile"\" \""#dat2"\"")))
  96.      (if (> #patch 0) (
  97.         (rename #dat3 #dat2)
  98.          (abort (cat #ErrorMsg1_1 #dat #ErrorMsg1_4))
  99.      )(
  100.          (if (<> "" #odir) (
  101.             (makedir (cat #safepath "/" #odir))
  102.             (rename #dat3 (cat #safepath "/" #odir "/" #dat))
  103.         )(
  104.             (rename #dat3 (cat #safepath "/" #dat))
  105.         ))
  106.      ))
  107.  ))
  108.  (set #cm (+ #cm #dif))
  109.  (complete (/ #cm 10))
  110. )
  111.  
  112. ;-------------------------------------------------
  113. ;Error handling (restore old files)
  114. ;-------------------------------------------------
  115. (onerror (
  116.     (if (<> "-" #safepath) (
  117.         (message "Some error occured while creating new files\nI try to restore the old state." (all))
  118.         (copyfiles (source #safepath) (dest @default-dest) (all) (optional force))
  119.         (delete #safepath (all))
  120.     ))
  121. ))
  122.  
  123. ;-------------------------------------------------
  124. ;Start point
  125. ;-------------------------------------------------
  126. (complete 0)
  127. (welcome #welc)
  128.  
  129. ;-------------------------------------------------
  130. ;Overwrite?
  131. ;-------------------------------------------------
  132. (if (= @user-level 2) (
  133.     (set #overwrite (askchoice (prompt "Choose a patch method!") (help "If you want to keep the old files,\nchoose the 'keep old files' choice.") (choices "Overwrite old files" "Keep old files")))
  134. )(
  135.     (set #overwrite 0)
  136. ))
  137. (complete 4)
  138.  
  139. ;-------------------------------------------------
  140. ;Seek old prog
  141. ;-------------------------------------------------
  142. (set #defdest (askdir (prompt #whereprog) (help #helpwhereprog) (default "")))
  143. (set @default-dest #defdest)
  144. (complete 8)
  145.  
  146. ;-------------------------------------------------
  147. ;Last minute question...
  148. ;-------------------------------------------------
  149. (message (cat "Update of "@app-name" from\nV"#Oldver" to V"#Ver" will be started..."))
  150. (complete 12)
  151.  
  152. ;-------------------------------------------------
  153. ;Create safe directory
  154. ;-------------------------------------------------
  155. (working "Creating archive directory...")
  156. (set #safepath (cat #defdest "/" #safename))
  157. (makedir #safepath)
  158. (complete 16)
  159.  
  160. ;-------------------------------------------------
  161. ;Update application
  162. ;-------------------------------------------------
  163. (set #cm 180)
  164. (set #pchfile (cat @app-name ".gpch"))
  165.  
  166. (P_Delete 'c2p/cardgrey.c2p')
  167. (P_Delete 'c2p/grey.c2p')
  168. (P_Delete 'c2p/grey2.c2p')
  169. (P_Delete 'c2p/zavacki2.c2p')
  170. (P_Delete 'c2p_src/c2p_card_palette.c')
  171. (P_Delete 'c2p_src/c2p_windowamiga_palette.c')
  172. (P_Delete 'c2p_src/c2p_windowcard_palette.c')
  173. (P_Delete 'c2p_src/c2p_windowscale_palette.c')
  174. (P_Delete 'Catalogs/magyar/cp4_cardgreyscale.catalog')
  175. (P_Delete 'Catalogs/magyar/cp4_greyscale.catalog')
  176. (P_Delete 'Catalogs/magyar/cp4_greyscale2.catalog')
  177. (P_Delete 'Catalogs/magyar/cp4_zavacki2.catalog')
  178. (P_Delete 'Localize/Description/cp4_cardgreyscale.cd')
  179. (P_Delete 'Localize/Description/cp4_greyscale.cd')
  180. (P_Delete 'Localize/Description/cp4_greyscale2.cd')
  181. (P_Delete 'Localize/Description/cp4_zavacki2.cd')
  182. (P_Delete 'Localize/Template/cp4_cardgreyscale.ct')
  183. (P_Delete 'Localize/Template/cp4_greyscale.ct')
  184. (P_Delete 'Localize/Template/cp4_greyscale2.ct')
  185. (P_Delete 'Localize/Template/cp4_zavacki2.ct')
  186. (P_Delete 'Localize/Translations/magyar/cp4_cardgreyscale.ct')
  187. (P_Delete 'Localize/Translations/magyar/cp4_greyscale.ct')
  188. (P_Delete 'Localize/Translations/magyar/cp4_greyscale2.ct')
  189. (P_Delete 'Localize/Translations/magyar/cp4_zavacki2.ct')
  190. (P_Update 'c2p/card.c2p')
  191. (P_Update 'c2p/carddelta.c2p')
  192. (P_Update 'c2p/ehb.c2p')
  193. (P_Update 'c2p/grey16.c2p')
  194. (P_Update 'c2p/interlace.c2p')
  195. (P_Update 'c2p/mono.c2p')
  196. (P_Update 'c2p/ocs.c2p')
  197. (P_Update 'c2p/perdevpernull.c2p')
  198. (P_Update 'c2p/windowamiga.c2p')
  199. (P_Update 'c2p/windowcard.c2p')
  200. (P_Update 'c2p/windowcarddelta.c2p')
  201. (P_Update 'c2p/windowmono.c2p')
  202. (P_Update 'c2p/windowscale.c2p')
  203. (P_Update 'c2p/zavacki.c2p')
  204. (P_Update 'c2p_src/c2p_card.c')
  205. (P_Update 'c2p_src/c2p_module.c')
  206. (P_Update 'c2p_src/c2p_module.h')
  207. (P_Update 'c2p_src/c2p_windowamiga.c')
  208. (P_Update 'c2p_src/c2p_windowcard.c')
  209. (P_Update 'c2p_src/c2p_windowscale.c')
  210. (P_Update 'c2p_src/cp4_ver.h')
  211. (P_Update 'Catalogs/magyar/cp4.catalog')
  212. (P_Update 'Catalogs/magyar/cp4_card.catalog')
  213. (P_Update 'cp4')
  214. (P_Update 'cp4.readme')
  215. (P_Update 'Docs/cp4_EN.guide')
  216. (P_Update 'Docs/cp4_HU.guide')
  217. (P_Update 'Localize/Description/cp4.cd')
  218. (P_Update 'Localize/Description/cp4_card.cd')
  219. (P_Update 'Localize/MakeCatalog')
  220. (P_Update 'Localize/Template/cp4.ct')
  221. (P_Update 'Localize/Template/cp4_card.ct')
  222. (P_Update 'Localize/Translations/magyar/cp4.ct')
  223. (P_Update 'Localize/Translations/magyar/cp4_card.ct')
  224. (P_Copy 'copy/c2p_src/c2p_palette.c' 'c2p_src/c2p_palette.c')
  225. (P_Copy 'copy/Palettes/Digitized.palette' 'Palettes/Digitized.palette')
  226. (P_Copy 'copy/Palettes/DigitizedGrey.palette' 'Palettes/DigitizedGrey.palette')
  227. (P_Copy 'copy/Palettes/Flamingo.palette' 'Palettes/Flamingo.palette')
  228. (P_Copy 'copy/Palettes/FlamingoGrey.palette' 'Palettes/FlamingoGrey.palette')
  229. (P_Copy 'copy/Palettes/Minus4.palette' 'Palettes/Minus4.palette')
  230. (P_Copy 'copy/Palettes/Minus4Grey.palette' 'Palettes/Minus4Grey.palette')
  231.  
  232. ;-------------------------------------------------
  233. ;Delete old if needed
  234. ;-------------------------------------------------
  235. (if (= 0 #overwrite) (
  236.     (delete #safepath (all))
  237. ))
  238. (complete 98)
  239.  
  240. ;-------------------------------------------------
  241. ;Show readme
  242. ;-------------------------------------------------
  243. (set #mv "SYS:Utilities/MultiView")
  244. (if (exists "C:MultiView") ((set #mv "C:MultiView")))
  245. (run (cat #mv " " @app-name ".readme"))
  246.  
  247. ;-------------------------------------------------
  248. ;The End
  249. ;-------------------------------------------------
  250. (complete 100)
  251. (exit)
  252.  
  253.